home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 7 / Amiga Format AFCD07 (Dec 1996, Issue 91).iso / serious / shareware / programming / aros / intuition / intuition_intern.h < prev    next >
C/C++ Source or Header  |  1996-09-12  |  2KB  |  65 lines

  1. #ifndef INTUITION_INTERN_H
  2. #define INTUITION_INTERN_H
  3. /*
  4.     (C) 1995-96 AROS - The Amiga Replacement OS
  5.     $Id: intuition_intern.h,v 1.3 1996/08/29 13:33:31 digulla Exp $
  6.     $Log: intuition_intern.h,v $
  7.     Revision 1.3  1996/08/29 13:33:31  digulla
  8.     Moved common code from driver to Intuition
  9.     More docs
  10.  
  11.     Revision 1.2  1996/08/28 17:55:37  digulla
  12.     Proportional gadgets
  13.     BOOPSI
  14.  
  15.     Revision 1.1  1996/08/13 15:37:26  digulla
  16.     First function for intuition.library
  17.  
  18.     Desc:
  19.     Lang:
  20. */
  21. #ifndef AROS_LIBCALL_H
  22. #   include <aros/libcall.h>
  23. #endif
  24. #ifndef EXEC_EXECBASE_H
  25. #   include <exec/execbase.h>
  26. #endif
  27. #ifndef GRAPHICS_GFXBASE_H
  28. #   include <graphics/gfxbase.h>
  29. #endif
  30. #ifndef INTUITION_INTUITIONBASE_H
  31. #   include <intuition/intuitionbase.h>
  32. #endif
  33.  
  34. struct IntIntuitionBase
  35. {
  36.     struct IntuitionBase IBase;
  37.     /* Put local shit here, invisible for the user */
  38.     struct GfxBase  * GfxBase;
  39.     struct ExecBase * SysBase;
  40.     struct MinList    ClassList;
  41.     struct Screen   * WorkBench;
  42. };
  43.  
  44. extern struct IntuitionBase * IntuitionBase;
  45.  
  46. #define GetPubIBase(ib)   ((struct IntuitionBase *)ib)
  47. #define GetPrivIBase(ib)  ((struct IntIntuitionBase *)ib)
  48.  
  49. #ifdef GfxBase
  50. #undef GfxBase
  51. #endif
  52. #define GfxBase     (GetPrivIBase(IntuitionBase)->GfxBase)
  53. #ifdef SysBase
  54. #undef SysBase
  55. #endif
  56. #define SysBase     (GetPrivIBase(IntuitionBase)->SysBase)
  57.  
  58. #define PublicClassList ((struct List *)&(GetPrivIBase(IntuitionBase)->ClassList))
  59.  
  60. /* Needed for close() */
  61. #define expunge() \
  62. __AROS_LC0(BPTR, expunge, struct IntuitionBase *, IntuitionBase, 3, Intuition)
  63.  
  64. #endif /* INTUITION_INTERN_H */
  65.